package com.mashibing.common.util;

import com.mashibing.common.enums.ExceptionEnums;
import com.mashibing.common.vo.ResultVO;

/**
 * @author SNA
 * @date 2025/10/23
 * @Description 统一返回结果工具类
 **/
public class R {

    /**
     * 创建一个表示操作成功的ResultVO对象
     *
     * @return ResultVO 返回码为0，表示成功；返回信息为空字符串的成功结果对象
     */
    public static ResultVO ok() {
        return new ResultVO(0, "");
    }


    /**
     * 创建一个成功的ResultVO对象并设置数据
     *
     * @param data 要设置的响应数据
     * @return 包含指定数据的成功ResultVO对象
     */
    public static ResultVO ok(Object data) {
        ResultVO vo = ok();
        vo.setData(data);
        return vo;
    }


    /**
     * 创建失败结果对象
     *
     * @param enums 异常枚举对象，包含错误码和错误信息
     * @return 返回封装了错误码和错误信息的结果对象
     */
    public static ResultVO error(ExceptionEnums enums) {
        return new ResultVO(enums.getCode(), enums.getMsg());
    }
}
